//
//  HMDiscoverSearchView.swift
//  新浪微博
//
//  Created by 饶鹏伟 on 16/4/6.
//  Copyright © 2016年 饶鹏伟. All rights reserved.
//

import UIKit

class HMDiscoverSearchView: UIView {
    
    
    //取消按钮
    @IBOutlet weak var cancleBtn: UIButton!
    //文本框
    @IBOutlet weak var textView: UITextField!
    //文本框右边约束
    @IBOutlet weak var rightCons: NSLayoutConstraint!
    
    //通过xib加载视图实现的方法
    override func awakeFromNib() {
       //设置xib视图的frame 
        self.frame=CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, self.bounds.height)
        
        //设置textView上leftView的图片
        self.textView.leftView=UIImageView(image: UIImage(named: "searchbar_textfield_search_icon"))
        
        //设置图片View的大小
        self.textView.leftView?.frame=CGRectMake(0, 0, self.frame.height, self.frame.height)

        //设置图片的显示模式 常见的几种
        /*
        ScaleToFill         放大或者缩小进行填充
        ScaleAspectFit
        case ScaleAspectFill  工作中一般使用的最多还是这种方式
        */

        self.textView.leftView?.contentMode = .Center
        
        //设置图片始终显示
        self.textView.leftViewMode = .Always
        
        //设置输入框为圆角
        //textView.layer.cornerRadius=8
        //textView.layer.masksToBounds = true
        
    
    }
    
    
    //类方法 通过xib文件名加载view的方法
    class func loadView()->HMDiscoverSearchView {
        
        let view=NSBundle.mainBundle().loadNibNamed("HMDiscoverSearchView", owner: nil, options: nil ).last as! HMDiscoverSearchView
        
        return view
        
    }
    
    
    
    
    //取消按钮单机事件
    @IBAction func cancleBtnDidClick(sender: AnyObject) {
        
        //取消键盘的第一响应者
        textView.resignFirstResponder()
        rightCons.constant = 0
        UIView.animateWithDuration(0.25) { () -> Void in
            
            self.layoutIfNeeded()
        }
        
    }
    
    
    //当点击文本框 准本输入内容 让取消按钮以动画的方式出来
    @IBAction func textEdtDidBg(sender: AnyObject) {
        
        //修改约束条件 设置距离右边的距离
        self.rightCons.constant=self.cancleBtn.frame.width
        
        //在动画闭包中强制执行刷新页面 //系统默认的动画时间 0.25
        UIView.animateWithDuration (0.25) {() -> Void in
            
            //提前刷新页面
            // layoutIfNeeded是根据 自动布局 来修改frame
            self.layoutIfNeeded()
            
        }
        
    }
    
    
}
